package com.guli.oss;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.ComponentScan;

/***
 * spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类，
 * 而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean，又因为项目（oss模块）中并没有关于dataSource相关的配置信息，所以当spring创建dataSource bean时因缺少相关的信息就会报错。
 * 解决办法：
 * 方法1、在@SpringBootApplication注解上加上exclude，解除自动加载DataSourceAutoConfiguration
 * @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
 * 方法2、common项目中mybatis-plus-boot-starter配置添加<optional>true</optional>
 * 此种方式会引起后续的包扫描问题，后面再详解，此处先使用第一种方式
 */
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@ComponentScan(basePackages={"com.guli.oss","com.guli.common"})
@EnableEurekaClient
public class OssApplication {
    public static void main(String[] args) {
        SpringApplication.run(OssApplication.class, args);
    }

}
